/*
    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License along
    with this program; if not, write to the Free Software Foundation, Inc.,
    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

*/

#ifndef RAYMATRIX_H
#define RAYMATRIX_H

#include <QVector>

namespace object{
 class Vertex;  
}
namespace draw{
class Ray;
class FloatMatrix;
  
class RayMatrix
{
  public:
    RayMatrix(int rows, int cols);
    ~RayMatrix();

    inline int rows() {return m_rows;}
    inline int cols() {return m_cols;}

    Ray* getRay(int r, int c){ return (m_matrix.at(r))->at(c); }
    void setRay(int r, int c, object::Vertex * org, object::Vertex *
end);
    
  private:
    int m_rows;
    int m_cols;
    QVector<QVector<Ray*>*> m_matrix;
    
   
};

};
#endif // RAYMATRIX_H
